package reflect;

import reflect.annotations.AutoRunClass;
import reflect.annotations.AutoRunMethod;
import java.lang.reflect.Method;

public class ReflectDemo10 {
    public static void main(String[] args) throws Exception {
        Class cls = Class.forName("reflect.Person");
//        Method method1 = cls.getMethod("sayHi");
//        boolean hasAnnotation = method1.isAnnotationPresent(AutoRunMethod.class);
//        if (hasAnnotation) {
//            System.out.println("方法 " + method1.getName() + " 被@AutoRunMethod标注了");
//        } else {
//            System.out.println("方法 " + method1.getName() + " 没有被@AutoRunMethod标注");
//        }
//
        Method[] methods = cls.getDeclaredMethods();

        // 遍历所有方法，判断是否有@AutoRunMethod标注
        for (Method method : methods) {
            boolean hasAnnotation = method.isAnnotationPresent(AutoRunMethod.class);
            if (hasAnnotation) {
                System.out.println("方法 " + method.getName() + " 被@AutoRunMethod标注了");
            } else {
                System.out.println("方法 " + method.getName() + " 没有被@AutoRunMethod标注");
            }
        }
    }
}